#中国各省gdp地图
from pyecharts.charts import Bar,Pie,Grid,Scatter,EffectScatter
from pyecharts import options as opts
import pandas as pd
from pyecharts.charts import Page
from pyecharts.globals import ThemeType
from pyecharts.charts import Timeline
from pyecharts.charts import Map
import random
province = ['广东省','江苏省','山东省','浙江省','河南省','四川省','湖北省','福建省','湖南省','安徽省',
            '上海市','河北省','北京市','陕西省','江西省','重庆市','辽宁省','云南省','广西壮族自治区','山西省',
            '内蒙古自治区’，,贵州省','新疆维吾尔自治区','天津市','黑龙江省','吉林省','甘肃省','海南省','宁夏回族自治区','青海省',
            '西藏自治区','台湾省','香港特别行政区']
GDPs=[129118 , 122875 ,87435 , 77715 ,61345 ,56749 ,53734 ,53109 ,48670 ,45045 ,
      44652, 42370,41610 , 32772 ,32074 ,29129 ,28975 ,28954 ,26300 , 25642 ,
      23159,20164,17741 , 16311 ,15901 ,13070 ,11201 , 6818 , 5069 , 3610 ,
      2132,51262,24000 ]
GDP_per=[101796,144475 ,85973 ,118830 , 62071 , 67785 , 92170 ,126845 , 73498 ,73687,
179401,56888, 190091 , 82885, 71009 , 90688 , 68515 , 61736,52215 ,73686,
         96496,52348,68526 , 118801 , 50883,55033,44986,66845 , 69925 , 60776,
         58269,213278 , 320140 ]
GDP=[(province[i],GDPs[i]) for i in range(len(province))]
map=(
    Map()
    .add('2022年GDP',GDP,'china')
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Map-2022年全国各省GDP"),
        legend_opts=opts.LegendOpts(is_show=False),
        visualmap_opts=opts.VisualMapOpts(max_=130000,min_=2000,split_number=10,is_piecewise=True),
    )
)
map.render('中国各省gdp图.html')

# 中国各省人均GDP柱状图
bar=(Bar()
    .add_xaxis(province)
    .add_yaxis("人均GDP",GDP_per)
    .set_global_opts(title_opts=opts.TitleOpts(title="中国各省人均GDP柱状图"),
                    legend_opts=opts.LegendOpts(is_show=False,pos_top=20),
                    xaxis_opts=opts.AxisOpts(name="省市",axislabel_opts=opts.LabelOpts(rotate=75)),
                    yaxis_opts=opts.AxisOpts(name="人均GDP（元）")
                    )
    )
bar.render('中国各省人均GDP.html')

# 中国10大GDP省份
pie=(
   Pie()
    .add("",GDP[0:10],center=["60%","50%"])
    .set_global_opts(title_opts=opts.TitleOpts(title="中国10大GDP省份饼图",pos_top=0),
                    legend_opts=opts.LegendOpts(pos_left=10,pos_top=25,orient='vertical' ))
    .set_series_opts(label_opts=opts.LabelOpts(font_size=16,formatter="{b}:{c}\n {d}%"))
)
pie.render('中国10大GDP省份.html')


page=Page(layout=Page.DraggablePageLayout,page_title='中国各省GDP组合图-Page')

page.add(map,bar,pie)

page.render('中国各省GDP.html')


page.save_resize_html('../tmp/中国各省GDP.html',cfg_file='../tmp/chart_config_中国各省GDP.json',dest='../tmp/中国各省GDP组合图(Page).html')